﻿@model  DHQGHN.DAL.Common.DataPage<DHQGHN.PM0.Models.Admin.MenuModel>
@{
    var pagNar = ViewBag.Pagination as DHQGHN.DAL.Common.Pagination;
    var lstItem = Model.Data;
}
<table class="tbl">
    <thead>
        <tr>
            <th style="width:5%">STT</th>
            <th style="width:5%">Chọn</th>
            <th style="width:15%">Tên Chức năng</th>
            <th style="width:14%">Mã Chức năng</th>
            <th style="width:13%">Đường dẫn</th>
            <th style="width:8%">Tên lớp css</th>
            <th style="width:6%">Thứ tự</th>            
            <th style="width:16%">Tên ứng dụng</th>
            <th style="width:8%">Mô tả</th>
            <th style="width:12%">Trạng thái sử dụng</th>           
            <th style="width:5%">Sửa</th>
            @*<th style="width:3%">Xóa</th>*@
        </tr>
    </thead>
    <tbody id="ctg_content_body">
        @if (Model.Data.Any())
        {
            for (int i = 0; i < lstItem.Count; i++)
            {
                <tr>
                    <td class="align-center">@(i + 1 + pagNar.CurrentPage * pagNar.PageSize)</td>
                    @if (lstItem[i].IsActive == 1) { 
                    <td style="text-align:center">
                        <div id="checkboxMenus"> 
                            <input type="checkbox" name="@lstItem[i].MenuId" />
                        </div> 
                    </td>
                    }
                    else
                    {
                    <td style="text-align:center">
                        <div name="@lstItem[i].MenuId"> 
                        </div> 
                    </td>
                    }
                    <td style="text-align: left;">@lstItem[i].MenuName</td>
                    <td style="text-align: left;">@lstItem[i].MenuCode</td>
                    <td style="text-align: left;">@lstItem[i].MenuUrl</td>
                    <td style="text-align: left;">@lstItem[i].ClassName</td>
                    <td style="text-align: left;">@lstItem[i].MenuOrder</td>
                    <td style="text-align: left;">@lstItem[i].AppName</td>
                    <td style="text-align: left;">@lstItem[i].MenuDescription</td>                    
                    @if (lstItem[i].IsActive == 1)
                        {
                            <td style="text-align: left"><span style="color:green">Đang sử dụng</span></td>
                            <td style="text-align: center;">
                                <a title='Sửa thông tin' href='javascript:void(0)' class='menu-edit' data-id='@lstItem[i].MenuId'>
                                    <div class='glyphicon glyphicon-edit'></div>
                                </a>
                            </td>
                        }
                        else
                        {
                            <td style="text-align: left"><span style="color:red">Không sử dụng</span></td>
                            <td style="text-align: center;">
                                <a title='Đưa vào sử dụng' href='javascript:void(0)' class='menu-active' data-id='@lstItem[i].MenuId'>
                                    <div class='glyphicon glyphicon-play'></div>
                                </a>
                            </td>
                        }            
                </tr>
            }
        }
        else
        {
            <tr>
               
                <td colspan="10"><p>Không tìm thấy Chức năng nào.</p></td>
            </tr>
        }
    </tbody>
    <tfoot>
        <tr>
            <td colspan="10" style="text-align:left !important">
                <button type="button" id="btnDelete" style="margin-left: 10px;" class="btn btn-danger"
                        value="Xóa">
                    Ngừng sử dụng
                </button>
            </td>
        </tr>
        <tr>
            <td colspan="10">
                @if (Model.Data.Any())
                {
                    @Html.Partial("_PaginationView", pagNar)
                }
            </td>
        </tr>
    </tfoot>
</table>
<div id="navigate_bottom_panel" class="nav-bottom ">
</div>
<div id="menu-model-container"></div>

<script>
        @functions{
            public string GetAntiForgeryToken()
            {
                string cookieToken, formToken;
                AntiForgery.GetTokens(null, out cookieToken, out formToken);
                return cookieToken + "," + formToken;
            }
        }
</script>

<script type="text/javascript">
    var crrPageIndex;
    function OnCriteria(pageIndex) {
        crrPageIndex = pageIndex;
        var menuname = $('#input-menuname');
        var menucode = $('#input-menucode');
        var state = $('#input-state').val();
        var appid = $('#input-appid').val();
        var parentid = $('#parent-menu').val();
        if (appid == "" || appid == 'undefined' || appid == null) {
            appid = 0;
        }
        menuname = menuname != null ? menuname.val().trim() : "";
        menucode = menucode != null ? menucode.val().trim() : "";
        $.ajax({
            dataType: "html",
            type: "POST",
            headers: {
                'VerificationToken': '@GetAntiForgeryToken()'
            },
            url: '@Url.Action("actionSearch","Menu")',
            contentType: "application/json",
            //data: { key: ctrSearch, departmentId: ctrdepartmentId, pageIndex: pageIndex },
            data: JSON.stringify({ pageIndex: pageIndex, mModel: { MenuName: menuname, MenuCode: menucode, AppId: appid, ParentMenuId: parentid, IsActive: state } }),
            success: function (response) {
                var $catlist = $('#menu-list');
                if ($catlist == null || $catlist.length == 0) {
                    window.notice('@*@Resources.Localization.MsgItemNotFound*@', window.notice_error);
                }
                else {
                    $catlist.html(response);
                }
            }
        });
        setTimeout(function () { $('#search_form').find('input:text:visible:first').focus(); }, 500);
    }

    $(document).ready(function () {
        $('a').tipsy();

        $("table.tbl-user-list").colResizable({
            headerOnly: true,
            defaultWith: ["auto", "auto", "auto", "auto", "60px", '30px', '30px', '30px']
        });
                
        $('.menu-edit').bind('click', function (event) {
            var $self = $(this);
            prepareCreateOrUpdate($self.attr('data-id'), 'Cập nhật Chức năng');
            
        });
        
        $('.menu-active').bind('click', function (event) {
            activeCountry($(this).attr('data-id'))
        });

        $('#btnDelete').click(function () {
            var values = [];            
            $('#checkboxMenus input:checked').each(function () {
                values.push(this.name);
            });            
            if (values.length != 0) {
                var $self = $(this);
                var token = '@GetAntiForgeryToken()';
                comfirmDelete("Bạn có muốn ngừng sử dụng chức năng không?", function () {
                    $.ajax("@Url.Action("actionDelete", "Menu")", {
                        type: "post",
                        contentType: "application/json",
                        data: JSON.stringify({ ids: values }), // JSON data goes here
                        dataType: "json",
                        headers: {
                            'VerificationToken': token
                        },
                        success: function (response) {
                            if (response.status == 200) {
                                OnCriteria(crrPageIndex);
                                window.notice(response.result, window.notice_success);
                            }
                            else {
                                window.notice(response.result, window.notice_error);
                            }
                        },
                    });
                }, null, "Ngừng sử dụng");
            } else {
                warning("Cần chọn chức năng để ngừng sử dụng", "Ngừng sử dụng");
            }
        });
    });

    function activeCountry(id) {
        comfirmDelete("Bạn có muốn khôi phục menu không?", function () {
            $.ajax("/Menu/ActionActive", {
                type: "post",
                contentType: "application/json",
                data: JSON.stringify({ id: id }),
                dataType: "json",
                headers: {
                    'VerificationToken': '@GetAntiForgeryToken()'
                },
                success: function (response) {
                    if (response.status == 200) {
                        OnCriteria(crrPageIndex);
                        window.notice(response.result, window.notice_success);
                    }
                    else {
                        window.notice(response.result, window.notice_error);
                    }
                },
            });
        }, null, "Khôi phục hình thức thu nhập");
    }
</script>
